package cn.bby.query.server.infrastructure.db.entity;

import cn.bby.query.server.domain.share.constant.InterfaceStatus;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

/**
 * @author ben
 * @since 2025/4/18 23:13
 */

/**
 * 接口配置信息表
 */
@Data
@NoArgsConstructor
@TableName(value = "interface_info")
@Accessors(chain = true)
public class InterfaceInfoPO {
    /**
     * 接口id
     */
    @TableId(type = IdType.AUTO)
    private Long interfaceId;
    /**
     * 服务名称
     */
    private String serverName;
    /**
     * 接口描述
     */
    private String description;
    /**
     * 版本号
     */
    private String version;

    /**
     * 源表
     */
    private Long mainTableId;

    /**
     * 接口名
     */
    private String interfaceName;

    /**
     * 接口路径
     */
    private String methodPath;

    /**
     * 主键db字段名
     */
    private String primaryColumn;

    /**
     * 主键字段名
     */
    private String primaryField;

    /**
     * 主键字段类型
     */
    private String primaryColumnType;

    /**
     * 主键字段是否自增
     */
    private Boolean isPrimaryIncrement;

    /**
     * 创建时间db字段名
     */
    private String createTimeColumn;

    /**
     * 创建时间字段名
     */
    private String createTimeField;

    /**
     * 地址
     */
    private String baseUrl;

    /**
     * 状态：LOADING-加载中，READY-就绪
     * @see InterfaceStatus
     */
    private String status;

    /**
     * 重试次数
     */
    private Long errRetryTimes;
}